import request from '@/config/axios'

// 生产执行报 VO
export interface ExecuteReportVO {
  id: number // id
  workOrderNo: string // 工单号
  orderNo: string // 订单号
  sourceOrder: string // 源订单
  salesOrder: string // 销售订单
  workOrderDate: Date // 工单日期
  promisedDelivery: Date // 承诺交期
  issueTime: Date // 下发时间
  startProductionTime: Date // 开工时间
  productCode: string // 产品品号
  specification: string // 规格
  bomVersion: string // BOM版次
  drawingNo: string // 图号
  workOrderQuantity: number // 工单数量
  workOrderStatus: number // 工单状态
  completedPercentage: number // 完成数量占比
  inProcessQuantity: number // 在制品数量
  startProductionWorker: string // 开工人员
  productionDuration: number // 生产时长
  completedQuantity: number // 已完成数量
  line: string // 产线
}

// 生产执行报 API
export const ExecuteReportApi = {
  // 查询生产执行报分页
  getExecuteReportPage: async (params: any) => {
    return await request.get({ url: `/opticore/execute-report/page`, params })
  },

  // 查询生产执行报详情
  getExecuteReport: async (id: number) => {
    return await request.get({ url: `/opticore/execute-report/get?id=` + id })
  },

  // 新增生产执行报
  createExecuteReport: async (data: ExecuteReportVO) => {
    return await request.post({ url: `/opticore/execute-report/create`, data })
  },

  // 修改生产执行报
  updateExecuteReport: async (data: ExecuteReportVO) => {
    return await request.put({ url: `/opticore/execute-report/update`, data })
  },

  // 删除生产执行报
  deleteExecuteReport: async (id: number) => {
    return await request.delete({ url: `/opticore/execute-report/delete?id=` + id })
  },

  // 导出生产执行报 Excel
  exportExecuteReport: async (params) => {
    return await request.download({ url: `/opticore/execute-report/export-excel`, params })
  },
}